A Case Study for Program Refactoring

نویسندگان

  • Berthold Hoffmann
  • Javier Pérez
  • Tom Mens
چکیده

This paper proposes a case for the GraBaTs’08 tool contest. The graph transformation system to be implemented shall (i) import a graph-based representation of models of Java programs in a Gxl-based format, (ii) allow these models to be transformed interactively with three well-known program refactorings Encapsulate Field, Move Method, and Pull-up Method, and (iii) export the resulting models in the same Gxlformat. The case aims to enable comparison of various features of graph transformation tools, such as their expressiveness and their ability to interact with the user.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Case Study in Refactoring Functional Programs

Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of pro...

متن کامل

Organizational Circumstances for Large-scale Refactoring in Open Source Software (OSS) production

As software projects evolve over time, source code inherently becomes more complicated and tend to drift away from its original structure envisaged by the project founder. Uncontrolled software complexity makes it difficult to comprehend, modify code, and maintain sustainable level of OSS developers. Faced with challenges of increasingly complicated software design, software refactoring can be ...

متن کامل

Formal Model-Driven Program Refactoring

Evolutionary tasks, specially refactoring, affect source code and object models, hindering correctness and conformance. Due to the gap between object models and programs, refactoring tasks get duplicated in commonly-used model-driven development approaches, such as Round-Trip Engineering. In this paper, we propose a formal approach to consistently refactor systems in a model-driven manner. Each...

متن کامل

Object-oriented Refactoring of Java Programs using Graph Transformation

In this case study for the transformation tool contest (TTC), we propose to implement object-oriented program refactorings using transformation techniques. The case study proposes two major challenges to be solved by solution candidates: (1) bi-directional synchronization between source/target program source code and abstract program representations, and (2) program transformation rules for pro...

متن کامل

Using CafeOBJ to Mechanise Refactoring Proofs and Application

In this paper we show how rewriting systems, in particular CafeOBJ, can be used to automatically prove refactoring rules. In addition, a small case study that illustrates the application of a refactoring rule in an arbitrary program is also developed. Our approach is based on a sequential object-oriented language of refinement (ROOL) similar to Java. We have implemented the ROOL grammar in Cafe...

متن کامل

A Solution to the Java Refactoring Case Study using eMoflon

Our solution to the Java Refactoring case study of the Transformation Tool Contest (TTC 2015) is implemented using eMoflon, a meta-modeling and model transformation tool developed at the Real-Time Systems Lab at TU Darmstadt. The solution, available as a virtual machine hosted on SHARE [5] and at GitHub [6], includes a bidirectional synchronization between a Java model and an abstract program g...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008